package com.sp.fresh_produce.controller.dto.VO;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
/**
 * 分类视图对象（用于前台展示）
 * <p>
 * 描述一个分类节点及其子节点，便于构建树形目录。
 */
public class CategoryVORequest implements Serializable {
    /** 分类主键 ID */
    private Integer id;

    /** 分类名称 */
    private String name;

    /** 分类层级（1-3） */
    private Integer type;

    /** 父级分类 ID，根节点通常为 0 或 null */
    private Integer parentId;

    /** 排序序号，数值越小越靠前 */
    private Integer orderNum;

    /** 创建时间 */
    private Date createTime;

    /** 更新时间 */
    private Date updateTime;

    /** 子分类列表 */
    private List<CategoryVORequest> children = new ArrayList<>();
}
